home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 17 / CU Amiga Magazine's Super CD-ROM 17 (1997)(EMAP Images)(GB)[!][issue 1997-12].iso / CUCD / Games / Hugo / Library / changes.txt next >
Text File  |  1997-05-04  |  7KB  |  190 lines

  1. HUGO Library Changes File
  2. Maintained by Julian Arnold (jools@arnod.demon.co.uk)
  3.  
  4.  
  5. This file details important differences between versions of the standard
  6. Hugo library by Kent Tessmann (from v2.3.0 onwards).
  7.  
  8. Important differences are ones which fix bugs, add features, or
  9. otherwise affect the functioning and/or functionality of the library.
  10.  
  11. Each release of the library also contains numerous small changes:
  12. altered formatting, restructured code, additional or reworded comments,
  13. and so on.  These differences will not be mentioned.
  14.  
  15.  
  16. ________________________________________________________________________
  17.  
  18. v2.3.0, for use with HC v2.3
  19. ________________________________________________________________________
  20.  
  21. grammar.g    14,263        10:42:40 17 Mar 1997
  22. hugofix.g    2,432        09:53:50 27 Jan 1997
  23. hugofix.h    5,196        10:56:18 18 Mar 1997
  24. hugolib.h    114,408        09:47:18 20 Mar 1997
  25. objlib.h    44,328        09:43:30 20 Mar 1997
  26. verbstub.g    4,481        11:43:50 10 Jan 1997
  27. verbstub.h    3,558        11:43:38 10 Jan 1997
  28. ________________________________________________________________________
  29.  
  30. ________________________________________________________________________
  31.  
  32. v2.3.1, for use with HC v2.3
  33. ________________________________________________________________________
  34.  
  35. grammar.g    14,263        10:00:14 26 Mar 1997
  36. hugofix.g    2,432        10:00:32 26 Mar 1997
  37. hugofix.h    5,200        10:00:26 26 Mar 1997
  38. hugolib.h    115,376        12:31:22 02 Apr 1997
  39. objlib.h    44,306        12:38:20 02 Apr 1997
  40. verbstub.g    4,481        10:00:48 26 Mar 1997
  41. verbstub.h    3,558        10:00:38 26 Mar 1997
  42. ________________________________________________________________________
  43.  
  44. 1.
  45. The output of the $di (audit directions) debugging verb from hugofix.h
  46. has been tidied.
  47.  
  48. 2.
  49. The HoursMinutes routine in hugolib.h can now take an optional second
  50. argument to specify military 24-hour time.  For example:
  51.     HoursMinutes(847)      prints 2:07 p.m.
  52.     HoursMinutes(847,true) prints 14:07
  53.  
  54. 3.
  55. The DoGo routine in hugolib.h now ensures object does not have a door_to
  56. property, and is enterable, before passing control to the DoEnter
  57. routine.
  58.  
  59. This fixes a bug to do with ENTERing or GOing to an `enterable' object
  60. with a `door_to' property-- previously this would cause a stack
  61. overflow, as DoGo and DoEnter would call each other endlessly.
  62.  
  63. 4.
  64. The component class, defined in objlib.h, now inherits from the scenery
  65. class, also defined in oblib.h, and is part_of the nothing object by
  66. default (previously it did not necessariy have the part_of property).
  67.  
  68. ________________________________________________________________________
  69.  
  70. v2.3.2, for use with HC v2.3
  71. ________________________________________________________________________
  72.  
  73. grammar.g    14,309        14:38:24 16 Apr 1997
  74. hugofix.g    2,352        12:41:00 16 Apr 1997
  75. hugofix.h    5,486        10:23:20 21 Apr 1997
  76. hugolib.h    119,891        11:24:12 29 Apr 1997
  77. objlib.h    44,992        09:47:52 02 May 1997
  78. verbstub.g    4,481        12:41:14 16 Apr 1997
  79. verbstub.h    3,402        12:41:08 16 Apr 1997
  80. ________________________________________________________________________
  81.  
  82. 5.
  83. A new global, `player_person', has been added to hugolib.h.  This should
  84. be set to either 1, 2, or 3 (2 is the default) to reflect whether
  85. library messages (ie, those contained in routines Message in hugolib.h
  86. and OMessages in objlib.h) are to be given in the first-, second-, or
  87. third-person.  For example:
  88.     VALUE    PERSONAL    EXAMPLE
  89.         PRONOUN        MESSAGE
  90.     ---------------------------------------------------
  91.     1    I        I already have that.
  92.         we        We already have that.
  93.     2    you (s.)    You already have that.
  94.         you (pl.)    You already have that.
  95.     3    he/she/it    He/she/it already has that.
  96.         they        They already have that.
  97.  
  98. Being a global the value of `player_person' can be changed during play.
  99.  
  100. NOTE: Depending on the value of `player_person' the player object should
  101. either have, or not have the `plural' attribute set (ie, `player is
  102. [not] plural'):
  103.     VALUE    PERSONAL    ATTRIBUTE
  104.         PRONOUN
  105.     --------------------------------------------
  106.     1    I           player is plural
  107.         we        player is plural
  108.     2    you (s.)    player is plural
  109.         you (pl.)    player is plural
  110.     3    he/she/it    player is not plural
  111.         they        player is plural
  112.  
  113. NOTE: The `name' property of the player object should also reflect the
  114. value of `player_person':
  115.     VALUE    PERSONAL    NAME
  116.         PRONOUN
  117.     ----------------------------------------------------------------
  118.     1    I        player.name="I"
  119.         we        player.name="we"
  120.     2    you (s.)    player.name="you"
  121.         you (pl.)    player.name="you"
  122.     3    he/she/it    player.name="he"/"she"/"it" (or a proper
  123.                 noun, ie, "Bob")
  124.         they        player.name="they" (or a proper noun,
  125.                 ie, "men of Harlech")
  126.  
  127. 6.
  128. The global `nest', declared in hugolib.h, has been renamed to
  129. `list_nest', to better reflect its purpose (`list_nest' is used in
  130. various library routines which print a list).
  131.  
  132. 7.
  133. The `extra_scenery' check (which checks the players input for words
  134. listed in the current location's `extra_scenery' property) in routine
  135. Parse in hugolib.h, now begins its checking at the second word of the
  136. input (ie, `word[2]'), rather than the first.  This ensures that verb
  137. words are not considered during this check.
  138.  
  139. 8. (See also: 2.)
  140. Routine HoursMinutes in hugolib.h previously had three bugs: a) midnight
  141. in 12-hour format was printed as "0:00 a.m."--it is now "12:00 a.m."; b)
  142. hours before noon in 24-hour format were printed as, ie, "5:00"--they
  143. are now, ie, "05:00"; c) hours before noon in 24-hour format were still
  144. suffixed with "a.m."--they no longer are.
  145.  
  146. 9. (See also: 5.)
  147. Routines The and Art in hugolib.h now take optional true-or-false second
  148. arguments, which only take effect if the first argument is equal to
  149. `player' and `player_person' equals 1.  In full:
  150.     The(player)        prints "I"
  151.     The(player, true)    prints "me"
  152.     Art(player)        prints "I"
  153.     Art(player, true)    prints "me"
  154.  
  155. 10. (See also: 5, 9.)
  156. If the first argument is equal to `player' and `player_person' equals 1
  157. routine IsorAre in hugolib.h prints " am" or "'m" rather than " are" or
  158. "'re".
  159.  
  160. 11. (See also: 5, 9, 10.)
  161. A new routine, MatchPlural, has been added to hugolib.h, as a
  162. requirement of the new "player person" rules.  MatchPlural is called
  163. with three arguments, <object>, <word1>, and <word2>.  It simply prints
  164. <word1> if <object> is not `plural', or <word2> if <object> is `plural'. 
  165. For example:
  166.     print CThe(player); MatchPlural(player, "doesn't", "don't"); \
  167.     " need to refer to that."
  168.  
  169. 12.
  170. Previously rooms were not being marked as `visited'.  Thus a full
  171. description was given whenever the player entered a room, regardless of
  172. `verbosity', and whether or not he had been there before.  This
  173. behaviour has been fixed.
  174.  
  175. 13.
  176. Routine DoEnter in hugolib.h no longer allows the entering of objects in
  177. the players inventory (response is "You can't enter that").
  178.  
  179. 14. (See also: 5, 9, 10, 11.)
  180. Routines Message in hugolib.h and OMessages in objlib.h updated to work
  181. with the new "player person" rules.
  182.  
  183. 15.
  184. Object definitions for compass directions in objlib.h have been
  185. re-ordered.  They are now defined, starting with north (`n_obj'),
  186. clockwise around the compass.  Ie, `n_obj', `ne_obj', `e_obj', `se_obj',
  187. etc.  Previously they were given in the (somewhat illogical) order
  188. `n_obj', `s_obj', `e_obj', `w_obj', `ne_obj', `se_obj', `nw_obj',
  189. `sw_obj'.
  190.